perm filename ERRATA.TEX[TEX,DEK]17 blob
sn#736337 filedate 1983-12-23 generic text, type T, neo UTF8
% Bugs (sigh) in The TeXbook
\input manmac
\proofmodefalse
\def\rhead{Bugs in {\sl The \TeX book}}
\def\bugonpage#1(#2) \par{\bigbreak\tenpoint
\hrule\line{\lower3.5pt\vbox to13pt{}Page #1\hfil(#2)}\hrule\nobreak\medskip}
\bugonpage 256, starting with line $-17$ (11/1/83)
\ninepoint
\textindent{6)} Finally, the ↑|\dosupereject| macro is designed to clear
out any insertions that have been held over, whether they are illustrations
or footnotes or both: ↑↑|\insertpenalties| ↑↑|\supereject|
\begintt
\ifnum\insertpenalties>0
\line{} \kern-\topskip \nobreak
\vfill\supereject\fi
\endtt
The mysterious negative ↑|\kern| here cancels out the natural space of the
↑|\topskip| glue that goes above the empty |\line|; that empty line box
prevents the ↑|\vfill| from disappearing into a page break. The vertical
list that results from |\dosupereject| is placed on \TeX's list of things
to put out next, just after the straggling insertions have been
reconsidered as explained in Chapter~15. Hence another super-eject will
occur, and the process will continue until no insertions remain.
\bugonpage 307, a slightly more explicit answer (11/3/83)
\ninepoint
\textindent{\bf6.3.}It represents the heavy bar that shows up in
your output. \ (This bar wouldn't be present if\/ ↑|\overfullrule| had been
set to |0pt|, nor is it present in an underfull box.)
\bugonpage 333, beginning of the final paragraph (12/19/83)
\ninepoint
{\sl Note:\/} The stated preamble solves the problem and demonstrates
that \TeX's line-breaking capability can be used within tables. But this
particular table is not really a good example of the use of\/ |\halign|,
because \TeX\ could typeset it directly, using ↑|\everypar| in an
appropriate manner to set up the hanging indentation, and using |\par|
instead of\/ |\cr|. For example, one could say
\bugonpage 359, starting with line 2 (11/16/83)
\ninepoint
\beginlines
|\mathchardef\ldotp="602E\mathchardef\cdotp="6201\mathchardef\colon="603A|
|\def\ldots{\mathinner{\ldotp\ldotp\ldotp}}|
|\def\cdots{\mathinner{\cdotp\cdotp\cdotp}}|
|\def\vdots{\vbox{\baselineskip=4pt \lineskiplimit=0pt|
| \kern6pt \hbox{.}\hbox{.}\hbox{.}}}|
|\def\ddots{\mathinner{\mskip1mu\raise7pt\vbox{\kern7pt\hbox{.}}\mskip2mu|
| \raise4pt\hbox{.}\mskip2mu\raise1pt\hbox{.}\mskip1mu}}|
\endlines
\bugonpage 359, starting with line 19 (11/3/83)
{\ninepoint\parindent=0pt
|\def|↑|\overbrace|%
|#1{\mathop{\vbox{\ialign{##\crcr\noalign{\kern3pt}|\parbreak%
| \downbracefill\crcr\noalign{\kern3pt\nointerlineskip}|\parbreak%
| $\hfil\displaystyle{#1}\hfil$\crcr}}}|↑|\limits||}|
|\def|↑|\underbrace||#1{\mathop{\vtop{\ialign{##\crcr|\parbreak%
| $\hfil\displaystyle{#1}\hfil$\crcr|%
|\noalign{\kern3pt\nointerlineskip}|\parbreak%
| \upbracefill\crcr\noalign{\kern3pt}}}}\limits}|
}
\bugonpage 364, starting with line 10 (11/1/83)
{\ninepoint\parindent=0pt
|\def\dosupereject{\ifnum\insertpenalties>0 % something is being held over|%
\parbreak
| \line{}\kern-\topskip\nobreak\vfill\supereject\fi}|
}
\bugonpage 395, line 6 (11/11/83)
\ninepoint
\line{if $(a-{1\over2}\theta)-
\bigl(h(z)-v\bigr)<\varphi$, increase~$v$ by the difference. Finally
construct a vbox of}
\bugonpage 408, line 15 (12/14/83)
\noindent
| P. O. Box 1009, Haga Alto, CA 94321 USA}|
\smallskip\noindent
(Also change the ZIP code in the return address on the envelope
illustrated at the bottom of page 405.)
\bugonpage 428, in the table of sixteen basic fonts (12/19/83)
\ninepoint\noindent
[The special fonts called |cmi10| and |cmi7| and |cmi5| should really be
called |cmmi10| and |cmmi7| and |cmmi5|.]
\bugonpage 462, index entry for {\tt\char`\\colon} (11/16/83)
\ninepoint Add page \underbar{359} to this list.
\bugonpage 469, index entry for {\tt\char`\\kern} (11/1/83)
\ninepoint Add page {\it 256} to this list.
\bugonpage 470, index entry for {\tt\char`\\limits} (11/3/83)
\ninepoint Add page {\it 359} to this list.
\bugonpage 480, index entry for {\tt\char`\\vbox} (11/1/83)
\ninepoint Delete page 256 from this list.
\bye